-#!/bin/sh -x
-set -e
-test -L tools/domain_builder/dom0_ops.h
-rm tools/domain_builder/dom0_ops.h
-test -L tools/internal/dom0_ops.h
-rm tools/internal/dom0_ops.h
-(find -depth -type d -print | xargs -r rmdir 2>/dev/null) || true
+#!/bin/sh
exit 0
-#!/bin/sh -x
-set -e
-mkdir -p tools
-mkdir -p tools/domain_builder
-ln -s ../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h tools/domain_builder/dom0_ops.h
-mkdir -p tools/internal
-ln -s ../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h tools/internal/dom0_ops.h
-(find -depth -type d -print | xargs -r rmdir 2>/dev/null) || true
+#!/bin/sh
exit 0
3e4d00468-FN2VDeEHo96zxrMHK_mA tools/domain_builder/Makefile
3e4d0046SPau_y0sw2WLJz8QkqNoRA tools/domain_builder/README
3e4d0046bbdH0GsI9J_1Eb4ZQHfIiQ tools/domain_builder/dom0_defs.h
-3e71f9b871pvOAxDrhxpC4N4mHkbww tools/domain_builder/dom0_ops.h
+3ee609abdxnu1GvbtXnPlMfEkTEIwQ tools/domain_builder/dom0_ops.h
3e4d0046ouLij_CMN_j7-dUHZIBI_A tools/domain_builder/dom_builder.c
3e4d0046EKs06fY0CWDEgZQcn7DYUg tools/domain_builder/dom_kill.c
3e4d0046aPbGiRTtdWxqY5b3ytWurA tools/domain_builder/hypervisor_defs.h
3e4d0046IBzDIeaMbQB-e2QB2ahbig tools/domain_builder/vifinit
3eb781fdl4lXWYZzmqDDUAYhAThRqQ tools/internal/Makefile
3eb781fdc539MQQm47rYRCCR3N5i-Q tools/internal/dom0_defs.h
-3eb781fdEYILyFg60YVBsWNqxWFf1g tools/internal/dom0_ops.h
+3ee609b3Yr4aggmLSKmhiIzT8-nURA tools/internal/dom0_ops.h
3eb781fddjylXbsepjppUyIXa5lcaQ tools/internal/hypervisor_defs.h
3eb781fdKiQbgozBsgs_zzJQ9ubehw tools/internal/mem_defs.h
3ec61e1bJCeJJu0SsptmDpA1xKvwvw tools/internal/rpm.spec
3ddb79c3M2n1ROZH6xk3HbyN4CPDqg xen/include/asm-i386/uaccess.h
3ddb79c3uPGcP_l_2xyGgBSWd5aC-Q xen/include/asm-i386/unaligned.h
3ddb79c2YTaZwOqWin9-QNgHge5RVw xen/include/hypervisor-ifs/block.h
+3ddb79c2PMeWTK86y4C3F4MzHw4A1g xen/include/hypervisor-ifs/dom0_ops.h
3ddb79c25UE59iu4JJcbRalx95mvcg xen/include/hypervisor-ifs/hypervisor-if.h
3ead095dE_VF-QA88rl_5cWYRWtRVQ xen/include/hypervisor-ifs/kbd.h
3ddb79c2oRPrzClk3zbTkRHlpumzKA xen/include/hypervisor-ifs/network.h
3eb165e0eawr3R-p2ZQtSdLWtLRN_A xen/include/xeno/console.h
3ddb79c1V44RD26YqCUm-kqIupM37A xen/include/xeno/ctype.h
3ddb79c05DdHQ0UxX_jKsXdR4QlMCA xen/include/xeno/delay.h
-3ddb79c2PMeWTK86y4C3F4MzHw4A1g xen/include/xeno/dom0_ops.h
3e6377eaioRoNm0m_HSDEAd4Vqrq_w xen/include/xeno/dom_mem_ops.h
3ddb79c1uaWQZj551j1O0B5z8AnHOg xen/include/xeno/elevator.h
3ddb79c0HIghfBF8zFUdmXhOU8i6hA xen/include/xeno/errno.h
--- /dev/null
+
+#define NO_DOM0_OP_T
+#include "../../xen/include/hypervisor-ifs/dom0_ops.h"
+#undef NO_DOM0_OP_T
+#include "../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h"
--- /dev/null
+
+#define NO_DOM0_OP_T
+#include "../../xen/include/hypervisor-ifs/dom0_ops.h"
+#undef NO_DOM0_OP_T
+#include "../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h"
#include <xeno/types.h>
#include <xeno/lib.h>
#include <xeno/mm.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <xeno/sched.h>
#include <xeno/event.h>
#include <asm/domain_page.h>
#include <xeno/delay.h>
#include <xeno/event.h>
#include <xeno/time.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <asm/io.h>
#include <asm/domain_page.h>
#include <asm/flushtlb.h>
#include <asm/io.h>
#include <asm/msr.h>
#include <asm/uaccess.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <asm/byteorder.h>
#include <linux/if_ether.h>
#include <asm/domain_page.h>
--- /dev/null
+/******************************************************************************
+ * dom0_ops.h
+ *
+ * Process command requests from domain-0 guest OS.
+ *
+ * Copyright (c) 2002-2003, K A Fraser, B Dragovic
+ */
+
+
+#ifndef __DOM0_OPS_H__
+#define __DOM0_OPS_H__
+
+#define DOM0_GETMEMLIST 2
+#define DOM0_BVTCTL 6
+#define DOM0_ADJUSTDOM 7
+#define DOM0_CREATEDOMAIN 8
+#define DOM0_DESTROYDOMAIN 9
+#define DOM0_STARTDOMAIN 10
+#define DOM0_STOPDOMAIN 11
+#define DOM0_GETDOMAININFO 12
+#define DOM0_BUILDDOMAIN 13
+
+#define MAX_CMD_LEN 256
+#define MAX_DOMAIN_NAME 16
+
+typedef struct dom0_newdomain_st
+{
+ unsigned int domain; // return parameter
+ unsigned int memory_kb;
+ unsigned int num_vifs; // temporary
+ unsigned long pg_head; // return parameter
+ char name[MAX_DOMAIN_NAME];
+} dom0_newdomain_t;
+
+typedef struct dom0_killdomain_st
+{
+ unsigned int domain;
+ int force;
+} dom0_killdomain_t;
+
+typedef struct dom0_getmemlist_st
+{
+ unsigned long start_pfn;
+ unsigned long num_pfns;
+ void *buffer;
+} dom0_getmemlist_t;
+
+typedef struct domain_launch
+{
+ unsigned int domain;
+ unsigned long l2_pgt_addr;
+ unsigned long virt_load_addr;
+ unsigned long virt_shinfo_addr;
+ unsigned long virt_startinfo_addr;
+ unsigned int num_vifs;
+ char cmd_line[MAX_CMD_LEN];
+ unsigned long virt_mod_addr;
+ unsigned long virt_mod_len;
+} dom_meminfo_t;
+
+typedef struct dom0_bvtctl_st
+{
+ unsigned long ctx_allow; /* context switch allowance */
+} dom0_bvtctl_t;
+
+typedef struct dom0_adjustdom_st
+{
+ unsigned int domain; /* domain id */
+ unsigned long mcu_adv; /* mcu advance: inverse of weight */
+ unsigned long warp; /* time warp */
+ unsigned long warpl; /* warp limit */
+ unsigned long warpu; /* unwarp time requirement */
+} dom0_adjustdom_t;
+
+typedef struct dom0_getdominfo_st
+{
+ unsigned int domain; /* All returns except domain */
+ char name[MAX_DOMAIN_NAME];
+ int processor;
+ int has_cpu;
+ int state;
+ int hyp_events;
+ unsigned long mcu_advance;
+ unsigned long pg_head;
+ unsigned int tot_pages;
+ long long cpu_time;
+} dom0_getdominfo_t;
+
+#ifndef NO_DOM0_OP_T
+typedef struct dom0_op_st
+{
+ unsigned long cmd;
+ union
+ {
+ dom0_newdomain_t newdomain;
+ dom0_killdomain_t killdomain;
+ dom0_getmemlist_t getmemlist;
+ dom0_bvtctl_t bvtctl;
+ dom0_adjustdom_t adjustdom;
+ dom_meminfo_t meminfo;
+ dom0_getdominfo_t getdominfo;
+ }
+ u;
+} dom0_op_t;
+#endif
+
+#endif
+++ /dev/null
-/******************************************************************************
- * dom0_ops.h
- *
- * Process command requests from domain-0 guest OS.
- *
- * Copyright (c) 2002, K A Fraser, B Dragovic
- *
- * MUST BE KEPT IN SYNC WITH xenolinux<*>/arch/xeno/drivers/dom0/dom0_ops.h
- */
-
-
-#ifndef __DOM0_OPS_H__
-#define __DOM0_OPS_H__
-
-#define DOM0_GETMEMLIST 2
-#define DOM0_BVTCTL 6
-#define DOM0_ADJUSTDOM 7
-#define DOM0_CREATEDOMAIN 8
-#define DOM0_DESTROYDOMAIN 9
-#define DOM0_STARTDOMAIN 10
-#define DOM0_STOPDOMAIN 11
-#define DOM0_GETDOMAININFO 12
-#define DOM0_BUILDDOMAIN 13
-
-#define MAX_CMD_LEN 256
-#define MAX_DOMAIN_NAME 16
-
-typedef struct dom0_newdomain_st
-{
- unsigned int domain; // return parameter
- unsigned int memory_kb;
- unsigned int num_vifs; // temporary
- unsigned long pg_head; // return parameter
- char name[MAX_DOMAIN_NAME];
-} dom0_newdomain_t;
-
-typedef struct dom0_killdomain_st
-{
- unsigned int domain;
- int force;
-} dom0_killdomain_t;
-
-typedef struct dom0_getmemlist_st
-{
- unsigned long start_pfn;
- unsigned long num_pfns;
- void *buffer;
-} dom0_getmemlist_t;
-
-typedef struct domain_launch
-{
- unsigned int domain;
- unsigned long l2_pgt_addr;
- unsigned long virt_load_addr;
- unsigned long virt_shinfo_addr;
- unsigned long virt_startinfo_addr;
- unsigned int num_vifs;
- char cmd_line[MAX_CMD_LEN];
- unsigned long virt_mod_addr;
- unsigned long virt_mod_len;
-} dom_meminfo_t;
-
-typedef struct dom0_bvtctl_st
-{
- unsigned long ctx_allow; /* context switch allowance */
-} dom0_bvtctl_t;
-
-typedef struct dom0_adjustdom_st
-{
- unsigned int domain; /* domain id */
- unsigned long mcu_adv; /* mcu advance: inverse of weight */
- unsigned long warp; /* time warp */
- unsigned long warpl; /* warp limit */
- unsigned long warpu; /* unwarp time requirement */
-} dom0_adjustdom_t;
-
-typedef struct dom0_getdominfo_st
-{
- unsigned int domain; /* All returns except domain */
- char name[MAX_DOMAIN_NAME];
- int processor;
- int has_cpu;
- int state;
- int hyp_events;
- unsigned long mcu_advance;
- unsigned long pg_head;
- unsigned int tot_pages;
- long long cpu_time;
-} dom0_getdominfo_t;
-
-
-typedef struct dom0_op_st
-{
- unsigned long cmd;
- union
- {
- dom0_newdomain_t newdomain;
- dom0_killdomain_t killdomain;
- dom0_getmemlist_t getmemlist;
- dom0_bvtctl_t bvtctl;
- dom0_adjustdom_t adjustdom;
- dom_meminfo_t meminfo;
- dom0_getdominfo_t getdominfo;
- }
- u;
-} dom0_op_t;
-
-#endif
#include <asm/processor.h>
#include <asm/current.h>
#include <hypervisor-ifs/hypervisor-if.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
#include <xeno/list.h>
#include <xeno/time.h>
* dom0_ops.h
*
* Process command requests from domain-0 guest OS.
+ * This file includes the Xen part of the interface, plus the extra stuff
+ * that is dealt with by Xenolinux without being handed down to Xen.
*
- * Copyright (c) 2002, K A Fraser, B Dragovic
- *
- * MUST BE KEPT IN SYNC WITH xen/include/xeno/dom0_ops.h
- * MUST BE KEPT IN SYNC WITH tools/domain_builder/dom0_ops.h
+ * Copyright (c) 2002-2003, K A Fraser, B Dragovic
*/
-#define DOM0_GETMEMLIST 2
-#define DOM0_BVTCTL 6
-#define DOM0_ADJUSTDOM 7
-#define DOM0_CREATEDOMAIN 8
-#define DOM0_DESTROYDOMAIN 9
-#define DOM0_STARTDOMAIN 10
-#define DOM0_STOPDOMAIN 11
-#define DOM0_GETDOMAININFO 12
-#define DOM0_BUILDDOMAIN 13
-#define MAP_DOM_MEM 14 /* Not passed down to Xen */
-#define DO_PGUPDATES 15 /* Not passed down to Xen */
-#define MAX_CMD 16
-
-#define MAX_CMD_LEN 256
-#define MAX_DOMAIN_NAME 16
-
-typedef struct dom0_newdomain_st
-{
- unsigned int domain;
- unsigned int memory_kb;
- unsigned int num_vifs; /* temporary */
- unsigned long pg_head; /* return parameter */
- char name[MAX_DOMAIN_NAME];
-} dom0_newdomain_t;
-
-typedef struct dom0_killdomain_st
-{
- unsigned int domain;
- int force;
-} dom0_killdomain_t;
-
-typedef struct dom0_getmemlist_st
-{
- unsigned long start_pfn;
- unsigned long num_pfns;
- void *buffer;
-} dom0_getmemlist_t;
+#ifndef __DOM0_DOM0_OPS_H__
+#define __DOM0_DOM0_OPS_H__
-typedef struct dom0_bvtctl_st
-{
- unsigned long ctx_allow; /* context switch allowance */
-} dom0_bvtctl_t;
+/* External users of this header file will include Xen's version separately. */
+#ifdef __KERNEL__
+#define NO_DOM0_OP_T
+#include <asm/hypervisor-ifs/dom0_ops.h>
+#endif
-typedef struct dom0_adjustdom_st
-{
- unsigned int domain; /* domain id */
- unsigned long mcu_adv; /* mcu advance: inverse of weight */
- unsigned long warp; /* time warp */
- unsigned long warpl; /* warp limit */
- unsigned long warpu; /* unwarp time requirement */
-} dom0_adjustdom_t;
+/* Extra commands dealt with by Xenolinux. */
+#define MAP_DOM_MEM 14
+#define DO_PGUPDATES 15
+#define MAX_CMD 16
-/* This is entirely processed by XenoLinux */
typedef struct dom_mem
{
unsigned int domain;
int tot_pages;
} dom_mem_t;
-/* This is entirely processed by XenoLinux */
typedef struct dom_pgupdate
{
unsigned long pgt_update_arr;
unsigned long num_pgt_updates;
} dom_pgupdate_t;
-typedef struct domain_launch
-{
- unsigned int domain;
- unsigned long l2_pgt_addr;
- unsigned long virt_load_addr;
- unsigned long virt_shinfo_addr;
- unsigned long virt_startinfo_addr;
- unsigned int num_vifs;
- char cmd_line[MAX_CMD_LEN];
- unsigned long virt_mod_addr;
- unsigned long virt_mod_len;
-} dom_meminfo_t;
-
-
-typedef struct dom0_getdominfo_st
-{
- unsigned int domain; /* All returns except domain */
- char name[MAX_DOMAIN_NAME];
- int processor;
- int has_cpu;
- int state;
- int hyp_events;
- unsigned long mcu_advance;
- unsigned long pg_head;
- unsigned int tot_pages;
- long long cpu_time;
-} dom0_getdominfo_t;
-
-
typedef struct dom0_op_st
{
unsigned long cmd;
u;
} dom0_op_t;
+#endif /* __DOM0_DOM0_OPS_H__ */